<!DOCTYPE html>
<html lang="en">

<head>
  <meta charset="UTF-8">
  <meta http-equiv="X-UA-Compatible" content="IE=edge">
  <meta name="viewport" content="width=device-width, initial-scale=1.0">
  <title>Document</title>
</head>

<body>
  <script>
    function fun() {
      function fun1() {
        let num = 8
        function fun2() {
          function fun3(num) {
            console.log(num) // 打印多少为什么 3 当前fun3()的作用域没有声明的num，遵循作用域链向上一级作用域寻找，fun1()有声明num=8,num重新赋值为3
          }
          fun3(num)
          num = 5
        }
        num = 3
        fun2()
        console.log(num) // 打印多少为什么  5 当前fun1()的作用域生命的num=8，fun2()为num=5，赋值给num
      }
      let num = 1
      fun1()
    }
    fun()
  </script>
</body>

</html>